$spacing: 10px;

INPUT:not([type]),
INPUT[type='text'],
INPUT[type='password'],
INPUT[type='number'],
INPUT[type='date'],
INPUT[type='email'],
INPUT[type='search']:not(.vs__search),
INPUT[type='tel'],
INPUT[type='url'],
SELECT,
TEXTAREA,
.labeled-input,
.labeled-select,
.unlabeled-input,
.unlabeled-select {
  position: relative;
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: $input-padding-sm;
  background-color: var(--input-bg);
  border-radius: var(--border-radius);
  border: solid var(--border-width) var(--input-border);
  color: var(--input-text);

  @include input-status-color;

  &:focus, &.focused {
    @include form-focus
  }

  LABEL {
    color: var(--input-label);
  }
  &:hover:not(.focused):not(:focus):not(.disabled):not(:disabled):not(.view) {
    &, .vs__dropdown-menu {
      border-color: var(--input-hover-border);
    }
  }

  &.focused {
    LABEL {
      color: var(--outline);
    }
  }

  &::placeholder {
    color: var(--input-placeholder);
  }

  &.disabled, &.disabled .selected, &[disabled], &[disabled]:hover, &.view {
    color: var(--input-disabled-text);
    background-color: var(--input-disabled-bg);
    outline-width: 0;
    border-color: var(--input-disabled-border);
    cursor: not-allowed;
    label {
      color: var(--input-disabled-label);
      display: inline-block;
      z-index: 1;
    }
    &::placeholder {
        color: var(--input-disabled-placeholder);
    }
  }

  LABEL {
    margin: $spacing 0 0 0;
  }
}

INPUT[type='search']:not(.vs__search) {
  padding: calc(#{$input-padding-sm} + 2px);
}

TEXTAREA {
  padding: $input-padding-lg 10px 10px 10px;
  line-height: $input-line-height;
}

FORM {
  LABEL {
    color: var(--input-label);
    display: inline-block;
    margin: $spacing 0 $spacing 0;
    font-size: 12px;

    .radio-label,
    .checkbox-label {
      font-size: 14px;
    }

    &.radio, &.checkbox {
      cursor: pointer;
      margin: 5px 0;

      > INPUT {
        margin-right: 5px;
      }
    }

    &.radio + LABEL.radio,
    &.checkbox + LABEL.checkbox {
      margin-left: 20px;
    }
  }

  .actions {
    padding-top: $spacing;
  }

  .detail {
    margin-top: 2px;
    @extend .text-small;
    color: var(--muted);
  }

  .group {
    border: 1px solid var(--input-border);
    padding: 20px;
  }
}

.field-required {
  color: var(--error);
  font-weight: bold;
}

INPUT.inline-input {
  display: inline-block;
  width: 75px;
  margin: 0 10px;
}

.input-title {
    clear: both;
    margin-left: 24px;
    font-size: 12px;
}

.fixed select, .fixed.v-select, .fixed input:not(.vs__search){
  height: 50px;
}
